As computing devices have evolved, so have their input methods. Traditional mouse-pointers and keyboards are often used for input, as are software based virtual keyboards, such as the type used on smart phones and tablet devices. Other types of input, such as voice input, are also being used to provide input to modern computing devices.